package mapper

import (
	"gin-epg/internal/app/dao"
	"gin-epg/internal/app/entity"
)

// CreateEpgProgramTpl 创建一个新的 EpgProgramTpl
func CreateEpgProgramTpl(epgProgramTpl *entity.EpgProgramTpl) (err error) {
	if err = dao.SqlSession.Create(epgProgramTpl).Error; err != nil {
		return err
	}
	return
}

/*
* 获取 EpgProgramTpl 集合
 */
func GetAllEpgProgramTpl() (epgProgramTplList []*entity.EpgProgramTpl, err error) {
	if err := dao.SqlSession.Find(&epgProgramTplList).Error; err != nil {
		return nil, err
	}
	return
}

/*
* 根据 id 删除 EpgProgramTpl
 */
func DeleteEpgProgramTplById(id string) (err error) {
	err = dao.SqlSession.Where("id=?", id).Delete(&entity.EpgProgramTpl{}).Error
	return
}

/*
* 根据 id 查询 EpgProgramTpl
 */
func GetEpgProgramTplById(id string) (epgProgramTpl *entity.EpgProgramTpl, err error) {
	// 初始化 epgProgramTpl 变量
	epgProgramTpl = new(entity.EpgProgramTpl)

	// 执行查询
	if err = dao.SqlSession.Where("id=?", id).First(epgProgramTpl).Error; err != nil {
		return nil, err
	}
	return epgProgramTpl, nil
}

/*
* 更新 EpgProgramTpl 信息
 */
func UpdateEpgProgramTpl(epgProgramTpl *entity.EpgProgramTpl) (err error) {
	err = dao.SqlSession.Save(epgProgramTpl).Error
	return
}
